/**
 * <copyright>
 * </copyright>
 *

 */
package info.unlp.tesis.qvtoperational.util;

import info.unlp.tesis.qvtoperational.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see info.unlp.tesis.qvtoperational.QvtoperationalPackage
 * @generated
 */
public class QvtoperationalAdapterFactory extends AdapterFactoryImpl
{
  /**
   * The cached model package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected static QvtoperationalPackage modelPackage;

  /**
   * Creates an instance of the adapter factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public QvtoperationalAdapterFactory()
  {
    if (modelPackage == null)
    {
      modelPackage = QvtoperationalPackage.eINSTANCE;
    }
  }

  /**
   * Returns whether this factory is applicable for the type of the object.
   * <!-- begin-user-doc -->
   * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
   * <!-- end-user-doc -->
   * @return whether this factory is applicable for the type of the object.
   * @generated
   */
  @Override
  public boolean isFactoryForType(Object object)
  {
    if (object == modelPackage)
    {
      return true;
    }
    if (object instanceof EObject)
    {
      return ((EObject)object).eClass().getEPackage() == modelPackage;
    }
    return false;
  }

  /**
   * The switch that delegates to the <code>createXXX</code> methods.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected QvtoperationalSwitch<Adapter> modelSwitch =
    new QvtoperationalSwitch<Adapter>()
    {
      @Override
      public Adapter caseOperationalTransformation(OperationalTransformation object)
      {
        return createOperationalTransformationAdapter();
      }
      @Override
      public Adapter caseVarParameter(VarParameter object)
      {
        return createVarParameterAdapter();
      }
      @Override
      public Adapter caseModelParameter(ModelParameter object)
      {
        return createModelParameterAdapter();
      }
      @Override
      public Adapter caseModelType(ModelType object)
      {
        return createModelTypeAdapter();
      }
      @Override
      public Adapter caseImperativeOperation(ImperativeOperation object)
      {
        return createImperativeOperationAdapter();
      }
      @Override
      public Adapter caseOperationBody(OperationBody object)
      {
        return createOperationBodyAdapter();
      }
      @Override
      public Adapter caseEntryOperation(EntryOperation object)
      {
        return createEntryOperationAdapter();
      }
      @Override
      public Adapter caseOCLExpression(OCLExpression object)
      {
        return createOCLExpressionAdapter();
      }
      @Override
      public Adapter caseIfExp(IfExp object)
      {
        return createIfExpAdapter();
      }
      @Override
      public Adapter caseAssignExp(AssignExp object)
      {
        return createAssignExpAdapter();
      }
      @Override
      public Adapter caseImperativeExpression(ImperativeExpression object)
      {
        return createImperativeExpressionAdapter();
      }
      @Override
      public Adapter caseNullExp(NullExp object)
      {
        return createNullExpAdapter();
      }
      @Override
      public Adapter caseBreakExp(BreakExp object)
      {
        return createBreakExpAdapter();
      }
      @Override
      public Adapter caseContinueExp(ContinueExp object)
      {
        return createContinueExpAdapter();
      }
      @Override
      public Adapter caseWhileExp(WhileExp object)
      {
        return createWhileExpAdapter();
      }
      @Override
      public Adapter caseBooleanLiteralExp(BooleanLiteralExp object)
      {
        return createBooleanLiteralExpAdapter();
      }
      @Override
      public Adapter caseVariableInitExp(VariableInitExp object)
      {
        return createVariableInitExpAdapter();
      }
      @Override
      public Adapter caseVariableWithType(VariableWithType object)
      {
        return createVariableWithTypeAdapter();
      }
      @Override
      public Adapter caseDataType(DataType object)
      {
        return createDataTypeAdapter();
      }
      @Override
      public Adapter caseVariable(Variable object)
      {
        return createVariableAdapter();
      }
      @Override
      public Adapter caseStringLiteralExp(StringLiteralExp object)
      {
        return createStringLiteralExpAdapter();
      }
      @Override
      public Adapter caseIntegerLiteralExp(IntegerLiteralExp object)
      {
        return createIntegerLiteralExpAdapter();
      }
      @Override
      public Adapter caseOperationCallExp(OperationCallExp object)
      {
        return createOperationCallExpAdapter();
      }
      @Override
      public Adapter defaultCase(EObject object)
      {
        return createEObjectAdapter();
      }
    };

  /**
   * Creates an adapter for the <code>target</code>.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param target the object to adapt.
   * @return the adapter for the <code>target</code>.
   * @generated
   */
  @Override
  public Adapter createAdapter(Notifier target)
  {
    return modelSwitch.doSwitch((EObject)target);
  }


  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.OperationalTransformation <em>Operational Transformation</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.OperationalTransformation
   * @generated
   */
  public Adapter createOperationalTransformationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.VarParameter <em>Var Parameter</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.VarParameter
   * @generated
   */
  public Adapter createVarParameterAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.ModelParameter <em>Model Parameter</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.ModelParameter
   * @generated
   */
  public Adapter createModelParameterAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.ModelType <em>Model Type</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.ModelType
   * @generated
   */
  public Adapter createModelTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.ImperativeOperation <em>Imperative Operation</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.ImperativeOperation
   * @generated
   */
  public Adapter createImperativeOperationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.OperationBody <em>Operation Body</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.OperationBody
   * @generated
   */
  public Adapter createOperationBodyAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.EntryOperation <em>Entry Operation</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.EntryOperation
   * @generated
   */
  public Adapter createEntryOperationAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.OCLExpression <em>OCL Expression</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.OCLExpression
   * @generated
   */
  public Adapter createOCLExpressionAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.IfExp <em>If Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.IfExp
   * @generated
   */
  public Adapter createIfExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.AssignExp <em>Assign Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.AssignExp
   * @generated
   */
  public Adapter createAssignExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.ImperativeExpression <em>Imperative Expression</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.ImperativeExpression
   * @generated
   */
  public Adapter createImperativeExpressionAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.NullExp <em>Null Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.NullExp
   * @generated
   */
  public Adapter createNullExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.BreakExp <em>Break Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.BreakExp
   * @generated
   */
  public Adapter createBreakExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.ContinueExp <em>Continue Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.ContinueExp
   * @generated
   */
  public Adapter createContinueExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.WhileExp <em>While Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.WhileExp
   * @generated
   */
  public Adapter createWhileExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.BooleanLiteralExp <em>Boolean Literal Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.BooleanLiteralExp
   * @generated
   */
  public Adapter createBooleanLiteralExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.VariableInitExp <em>Variable Init Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.VariableInitExp
   * @generated
   */
  public Adapter createVariableInitExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.VariableWithType <em>Variable With Type</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.VariableWithType
   * @generated
   */
  public Adapter createVariableWithTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.DataType <em>Data Type</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.DataType
   * @generated
   */
  public Adapter createDataTypeAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.Variable <em>Variable</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.Variable
   * @generated
   */
  public Adapter createVariableAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.StringLiteralExp <em>String Literal Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.StringLiteralExp
   * @generated
   */
  public Adapter createStringLiteralExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.IntegerLiteralExp <em>Integer Literal Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.IntegerLiteralExp
   * @generated
   */
  public Adapter createIntegerLiteralExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for an object of class '{@link info.unlp.tesis.qvtoperational.OperationCallExp <em>Operation Call Exp</em>}'.
   * <!-- begin-user-doc -->
   * This default implementation returns null so that we can easily ignore cases;
   * it's useful to ignore a case when inheritance will catch all the cases anyway.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @see info.unlp.tesis.qvtoperational.OperationCallExp
   * @generated
   */
  public Adapter createOperationCallExpAdapter()
  {
    return null;
  }

  /**
   * Creates a new adapter for the default case.
   * <!-- begin-user-doc -->
   * This default implementation returns null.
   * <!-- end-user-doc -->
   * @return the new adapter.
   * @generated
   */
  public Adapter createEObjectAdapter()
  {
    return null;
  }

} //QvtoperationalAdapterFactory
